package com.xindacloud.sms.console.system.dto;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "项目DTO")
@JsonIgnoreProperties(ignoreUnknown = true)
public class SaveSmsProjectDTO implements Serializable {


    @ApiModelProperty(value = "项目ID，新增项目时projectId可以传null,修改时不能为null", name = "projectId")
    private String projectId;

    @ApiModelProperty(value = "创建用户ID，前端可以不传", name = "createUserId")
    private Integer createUserId;

    /**
     * 项目名称
     */
    @ApiModelProperty(value = "项目名称,不允许重复", name = "smsProjectName", required = true)
    private String smsProjectName;

    /**
     * 调用API发送短信时需要的密码
     */
    @ApiModelProperty(value = "密码", name = "password", required = true)
    private String password;

    /**
     * 调用API发送短信时需要的秘钥
     */
    @ApiModelProperty(value = "秘钥", name = "token", required = true)
    private String token;

    /**
     * 通道类型sms,voice
     */
    @ApiModelProperty(value = "通道类型目前有SMS", name = "channelType", required = true, example = "sms", allowableValues = "sms,voice")
    private String channelType;

    /**
     * 回调URL
     */
    @ApiModelProperty(value = "项目回调URL", name = "callBack", example = "http://example.com")
    private String callBack;

    @ApiModelProperty(value = "项目成员列表", name = "projectMembersList")
    List<ProjectMemberDTO> projectMembersList;

}
